class PhoneNumberValidator {
  PhoneNumberValidator._();

  // 验证中国大陆手机号码
  static bool validateChinesePhoneNumber(String phoneNumber) {
    // 中国大陆手机号码正则表达式，以 1 开头，共 11 位数字
    final RegExp regex = RegExp(r'^1[3-9]\d{9}$');
    return regex.hasMatch(phoneNumber);
  }

  // 验证美国手机号码
  static bool validateUSPhoneNumber(String phoneNumber) {
    // 美国手机号码正则表达式，10 位数字
    final RegExp regex = RegExp(r'^\d{10}$');
    return regex.hasMatch(phoneNumber);
  }

  // 通用验证函数，可根据国家代码扩展不同的验证规则
  static bool validatePhoneNumber(String phoneNumber, String? countryCode) {
    switch (countryCode) {
      case 'CN': // 中国大陆
        return validateChinesePhoneNumber(phoneNumber);
      case 'US': // 美国
        return validateUSPhoneNumber(phoneNumber);
      default:
        return false;
    }
  }
}